1. Field of the Invention
The present invention relates generally to a system that allocates bandwidth on a network connection and, more specifically, to both a method and system of implementing a sustainable cell rate and a peak cell rate which dynamically allocate bandwidth on a variable bandwidth channel, allowing an idle channel to shift bandwidth to a busy one.
2. Description of the Related Art
Since the invention of computers, engineers have developed methods and apparatus to enable separate computers to communicate with each other. The benefits of inter-computer communication include such common functions as file, hardware and software sharing. More recently, the Internet, a vast collection of interconnected computers, has revolutionized communication between computers enabling networks that span the globe.
The processing power of a computer has always been important to engineers and computer users and, as computers have become increasingly interconnected, bandwidth has also become very important. Bandwidth is a measure of the capacity of a communication link, often expressed in bits per second, or bps. Bandwidth depends not only on a particular communication medium, such as fiber optics, coaxial cable, or twisted pair, but also on a communication protocol employed. A communication protocol is a collection of rules that two or more computers or devices employ to exchange data.
Several wide area protocols have been developed; two prominent examples are the Transmission Control Protocol/Internet Protocol (TCP/IP) and Asynchronous Transfer Mode (ATM). TCP/IP is a packet based protocol. In a packet-based protocol, data is divided into multiple chunks, or packets, and each packet is addressed and transmitted through a communication medium. TCP/IP is flexible in that individual packets that are part of the same data stream may take different routes to the same destination. Thus, a source computer, an intermediate computer, or "router," and a destination computer, can adjust to communication medium congestion or failure by rerouting packets through alternative routes. In fact, individual packets within a single data stream may take different routes between the source computer and the destination computer. One drawback of TCP/IP is that the address of each packet is resolved at the source, destination and every router in between.
Most communication protocols include layers; the three primarily employed in TCP/IP are a physical layer, a data link layer, and a network layer. At the source computer, the network layer passes packets to the data link layer, the data link layer passes packets to physical layer, and the physical layer writes the packet in the form of electronic bits onto the communication medium. The physical layer is responsible for passing bits onto the connection medium, the data link layer for transmitting data between directly connected computers, and the network layer for routing the data from the source computer to the destination computer, through intermediate computers if necessary.
ATM is a communication protocol of a type know as frame relay. In frame relay, a virtual circuit (VC) is established between applications on different computers. Each chunk of data, or frame, is relayed through the VC. The address resolution function of the network layer is performed only when the VC is first established. The network protocol layer of TCP/IP is therefore not applicable in an ATM transmission after channel setup because it is not necessary to resolve the address of each frame once the VC has been established. Instead, each computer maintains a table of VCs. The table includes such information as VC priority and status data and the appropriate output channel number for each input channel number. In other words, a connection is routed based upon a connection number instead of a network address; each frame is relayed based on information in a table which contains a specific output channel for each input channel. In other words, the source, router and destination computers merely look at the input channel number in a header structure of each data frame and relay the frame to a specific output channel based upon information contained within the table; no other address resolution is necessary and every frame takes the same route in their original order.
There are several categories of service available within an ATM connection. The first is a constant bit rate (CBR) connection. This category of service is appropriate for an application that maintains a steady stream of data such as a video connection that requires not only a fixed bandwidth but also has a precise timing requirement. A second category of service, a variable bit rate (VBR) connection, requires a specific throughput but data is not necessarily sent at strictly defined time intervals. A VBR connection is commonly used for voice or teleconferencing data. A third category of service is an unspecified bit rate (UBR) connection. A UBR connection does not guarantee any throughput level and is commonly used for file transfer. The final category of service is an available bit rate (ABR) connection.
An ABR connection provides a guaranteed minimum capacity and allows data to be "bursted" at higher capacities when there is bandwidth that is not otherwise being utilized.
Some advantages of a frame relay protocol such as ATM over a packet oriented connection such as TCP/IP are less overhead once a connection has been established, the ability to prioritize individual connections, and the data frames of frame relay are, unlike the packets of a packet oriented connection, delivered to the destination in the order they are sent.
In some frame relay protocols each frame is of variable length; in ATM, each frame, also referred to as a cell, is a fixed length, typically 53 bytes. Of the 53 bytes, 48 bytes are typically payload and 5 bytes contain header information such as the number of the VC on which the cell is transmitted.
One advantage of ATM over TCP/IP is that channel priority levels can be defined so that applications such as video streams that have strict timing or data capacity requirements can be accommodated. A segmentation and reassembly (SAR) controller typically guarantees to a VC a predefined sustainable cell rate (SCR), peak cell rate (PCR) or both. The SCR is a measure of the VC's average transmission rate and may be flexible over short intervals so that the SAR controller can average transmission rates among several VCs. The PCR, however, is a measurement of the minimum cell spacing of a particular VC and is typically a fixed limit the SAR controller will not allow the VC to exceed.
One issue arises when the sum of the SCRs of all the VCs on an ATM connection approaches the capacity of the communication medium. Although the total SCRs of the VCs on an ATM connection may be less than the bandwidth of the communication medium, there is no guarantee that enough bandwidth is available over any specific time interval. Also, some applications may be "bursty." In other words, the average cell rate required by the application may not be a good predictor of the communication needs of the application over a specific small interval of time.
Another issue arises when the communication medium is already at full or close to full capacity and a request to add another VC is received. Under the current ATM protocol, the request is either refused or satisfied, which may result in the ATM connection becoming unpredictable and error-prone due to an over-subscription.